//package cn.itcast.util.imageshort;
//
//import sun.misc.BASE64Decoder;
//import sun.misc.BASE64Encoder;
//
//import javax.imageio.ImageIO;
//import java.awt.image.BufferedImage;
//import java.io.*;
//import java.net.HttpURLConnection;
//import java.net.URL;
//import java.util.Base64;
//
//public class ImageBinary {
//
//  static BASE64Encoder encoder = new BASE64Encoder();
//  static BASE64Decoder decoder = new BASE64Decoder();
//
//  public static String getImageBinary(String Imgpath, String suffix) {
//    File f = new File(Imgpath);
//    BufferedImage bi;
//    try {
//      bi = ImageIO.read(f);
//      String compressBase64FromUrl = FileUtil.getCompressBase64FromUrl(bi, 5);
//           /* ByteArrayOutputStream baos = new ByteArrayOutputStream();
//            ImageIO.write(bi, suffix, baos); //suffix jpg
//            byte[] bytes = baos.toByteArray();
//
//            //二进制压缩，从库中输出时，要解压缩
//            byte[] output = CompressionUtil.compress(bytes, CompressionUtil.Level.BEST_COMPRESSION);
//
//            System.out.println("before : " + (bytes.length / 1024) + "k");
//            System.out.println("after : " + (output.length / 1024) + "k");
//*/
//      // return encoder.encodeBuffer(output).trim();
//      return compressBase64FromUrl;
//    } catch (Exception e) {
//      e.printStackTrace();
//    }
//    return null;
//  }
//
////  public static void base64StringToImage(String savePath, String base64String, String suffix) {
////    try {
////      byte[] bytes1 = decoder.decodeBuffer(base64String);
////      //解压缩，保存时必须使用对应方法压缩
////      byte[] output = CompressionUtil.decompress(bytes1);
////      System.out.println("before : " + (bytes1.length / 1024) + "k");
////      System.out.println("after : " + (output.length / 1024) + "k");
////
////      ByteArrayInputStream bais = new ByteArrayInputStream(output);
////      BufferedImage bi1 = ImageIO.read(bais);
////
////      File w2 = new File(savePath);//可以是jpg,png,gif格式
////
////      ImageIO.write(bi1, suffix, w2);//suffix jpg
////    } catch (IOException e) {
////      e.printStackTrace();
////    }
////  }
//
//  /**
//   * 视频转base64
//   *
//   * @param path 视频路径
//   * @return
//   */
//  public static String ImageAsBase64(String path) {
//    String dir = System.getProperty("user.dir");
//    String s1 = null;
//    String png = null;
//    try {
//      s1 = CreateImage.fetchFrame(path, dir);
//      png = ImageBinary.getImageBinary(dir + s1, "png");
//      return "data:image/png;base64," + png;
//    } catch (Exception e) {
//      e.printStackTrace();
//      return null;
//    } finally {
//      if (png != null || s1 != null) {
//        deleteDir(new File(dir + "pic"));
//      }
//    }
//
//  }
//
//  public static void main(String[] args) {
//    String x="D:\\BaiduNetdiskDownload\\03：框架架构高级\\02-网络多线程\\01-Netty网络编程\\视频\\01.项目功能介绍.mp4";
//
//    String s = ImageAsBase64(x);
//    System.out.println(s);
//  }
//
//  /**
//   * 递归删除文件夹
//   *
//   * @param dir
//   * @return
//   */
//  private static boolean deleteDir(File dir) {
//    if (dir.isDirectory()) {
//      String[] children = dir.list();
//      //递归删除目录中的子目录下
//      for (int i = 0; i < children.length; i++) {
//        boolean success = deleteDir(new File(dir, children[i]));
//        if (!success) {
//          return false;
//        }
//      }
//    }
//    // 目录此时为空，可以删除
//    return dir.delete();
//  }
//
//}
